To expand the number of operating systems and application programs that run on a computer system, virtualized computer systems have been developed. In a virtualized computer system, a given computer having one type of CPU, called a host, includes an emulator program, referred to as a hypervisor that allows the host computer to emulate the instructions of an unrelated type of CPU, called a guest. The host computer executes an application that will cause one or more host instructions to be called in response to a given guest instruction. The host computer can run both software designed for its own hardware architecture and software written for a computer having an unrelated hardware architecture. In this type of arrangement, the guest computer system is a “virtual machine” as it only exists in the host computer system as a pure software representation of the operation of one specific hardware architecture.
Virtual computing systems have evolved into networks of virtual machines running on different network elements. Network Functions Virtualization (NFV) is a network architecture that uses virtualization related technologies to virtualize entire classes of network node functions into building blocks that may be connected together to provide communication services. A proposed standard for an NVF may be found in the European Telecommunication Standards Institute (ETSI) NVF Group Specification, Version 1.1.1 (2013-10).
A virtualized network function (VNF) is a software implementation of a network function that can be deployed on a Network Function Virtualization Infrastructure (NFVI). A VNF is a type of virtual application that may be loaded onto a virtual machine. A VNF may include one or more virtual machines running different software and processes, on top of industry standard high volume servers, switches and storage, or even cloud computing infrastructure, instead of having custom hardware appliances for each network function.
The NFVI includes all the hardware and software components which build up the environment in which VNFs are deployed. The NFVI can span across several locations. The network(s) providing connectivity between these locations are considered to be part of the NFVI
Network Functions Virtualization Management and Orchestration Architectural Framework (NFV-MANO Architectural Framework) is the collection of all functional blocks, data repositories used by these functional blocks, and reference points and interfaces through which these functional blocks exchange information for the purpose of managing and orchestrating the NFVI and VNFs.
Virtual machine networks have the advantage of providing failover solutions when a fault in operation of a virtual machine occurs. That is, a virtual machine may be switched from a network element on which it is operating to a redundant, standby, or extra network element upon the failure or abnormal termination of the current network element. With the growth of the number of virtual machines operating on network elements, the task of keeping track of failover and recovery in virtual machines has become more and more cumbersome. The importance of a successful failover solution dramatically increases as more organizations adopt virtual machines into data centers. However, protecting applications in a virtual machine network is not an easy task.